Creating Speaker Agreements

  • Browser

Speaker Agreements are contracts for speakers specifying rates for contracted services over a defined period of time, called a Series Contract. This enables customers to establish a defined agreement of rates and services with speakers for a specified period of time.

For example, Alice Admin creates a contract template for a Series Contract allowing users at Verteo BioPharma to use one contract for a speaker to speak at several events over a twelve month period. The contract template contains all appropriate contract lines specifying services and rates, as well as a print template to generate the PDF version of the contract for signing.

Later, Sarah Jones decides she wants to contract one of her accounts, Dr. Ackerman, to speak at several of her events over the next year. Using the contract template created by Alice, Sarah creates a new contract for Dr. Ackerman. She edits each quantity and rate for each contract line, then generates a PDF version of the completed contract. Sarah sends the PDF contract to Dr. Ackerman for the appropriate signatures. Later, Sarah uploads the signed copy of the contract, activating the contract.

Configuration

To configure this feature:

  1. Grant users responsible for generating Print Templates the following permissions:

    Object

    OLS

    Record Types

    Fields

    FLS

    EM_Catalog_vod

    CRU

    Contract_vod

    • Event_Format_vod
    • Location_Type_vod
    • Content_Length_vod
    • Program_Type_vod
    • Service_Type_vod

    Edit

  2. Grant admins the following permissions:

    Object

    OLS

    Record Types

    Fields

    FLS

    Contract_vod

    CRUD

    Series_Contract_vod

    • Description_vod
    • Language_vod
    • EM_Catalog_vod
    • EM_Tier_vod
    • Template_vod
    • Period_Type_vod
    • EM_Speaker_vod
    • Minimum_Contract_Length_vod
    • Contract_Length_vod
    • First_Expiration_Date_vod
    • Corporate_Contract_vod
    • Contracted_Event_vod
    • Contracted_Product_vod
    • Minimum_Programs_vod
    • Maximum_Programs_vod

    Edit

    • Institution_vod
    • Completed_Programs_vod

    Read

    Contract_Line_vod

    CRUD

    Series_Contract_vod

    • EM_Rate_vod
    • EM_Rate_Type_vod
    • EM_Rate_Max_vod
    • EM_Rate_Min_vod
    • EM_Service_Quantity_vod
    • EM_Service_Quantity_Max_vod
    • EM_Service_Quantity_Min_vod
    • Event_Format_vod
    • Location_Type_vod
    • Content_Length_vod
    • Program_Type_vod
    • Service_Type_vod

    Edit

    • EM_Total_Payment_vod
    • Service_Name_vod

    Read

    Contract_Partner_vod

    CRUD

    Series_Contract_vod

    Institution_Signature_vod

    Edit

    EM_Speaker_vod

    CRUD

    n/a

    • Tier_vod
    • Requires_Corporate_Contract_vod

    Edit

    EM_Event_vod

    CRUD

    n/a

    • Event_Format_vod
    • Location_Type_vod
    • Content_Length_vod
    • Program_Type_vod
    • Product_vod

    Edit

    EM_Event_Speaker_vod

    CRUD

    n/a

    Contract_vod

    Edit

  3. Grant end users the following permissions:

    Object

    OLS

    Record Types

    Fields

    FLS

    Contract_vod

    CRU

    Series_Contract_vod

    EM_Catalog_vod

    Edit

    • Description_vod
    • Language_vod
    • EM_Tier_vod
    • Template_vod
    • Period_Type_vod
    • EM_Speaker_vod
    • Minimum_Contract_Length_vod
    • Contract_Length_vod
    • First_Expiration_Date_vod
    • Corporate_Contract_vod
    • Contracted_Event_Type_vod
    • Contracted_Product_vod
    • Minimum_Programs_vod
    • Maximum_Programs_vod
    • Institution_vod
    • Completed_Programs_vod

    Read

    Contract_Line_vod

    CRU

    Series_Contract_vod

    • EM_Total_Payment_vod
    • Service_Name_vod
    • Event_Format_vod
    • Location_Type_vod
    • Content_Length_vod
    • Program_Type_vod
    • Service_Type_vod

    Read

    Contract_Partner_vod

    CRU

    Series_Contract_vod

    Institution_Signature_vod

    Edit

    EM_Speaker_vod

    RU

    n/a

    • Tier_vod
    • Requires_Corporate_Contract_vod

    Read

    EM_Event_vod

    RU

    n/a

    • Event_Format_vod
    • Location_Type_vod
    • Content_Length_vod
    • Program_Type_vod
    • Product_vod

    Edit

    EM_Event_Speaker_vod

    RU

    n/a

    Contract_vod

    Edit

  4. Grant end users either FLS read or edit permission to the following Contract_Line_vod fields based on if end users should be able to edit the fields:

    • EM_Rate_vod
    • EM_Rate_Type_vod
    • EM_Rate_Max_vod
    • EM_Rate_Min_vod
    • EM_Service_Quantity_vod
    • EM_Service_Quantity_Max_vod
    • EM_Service_Quantity_Min_vod
  5. Grant admins and end users access to the following Visualforce pages:

    • Contract_Line_Series_Contract_Edit_vod
    • EM_Link_Contract_vod
    • EM_Manage_Multi_Events_Contracts_vod
    • EM_Manage_Contracts_vod
  6. Navigate to the Veeva Message referenced by the SPEAKER_ROLLUP_STATUS_FILTER_vod Events Management Setting.

  7. Edit the Veeva Message with a comma-separated list of EM_Event_Speaker_vod statuses to count towards completed events in the contract. By default, the defined statuses are Attended_vod and Signed_vod. See Configurable Topic Warnings and Rollups for more information.

  8. Add the following fields to the appropriate EM_Event_vod object page layouts. This step is optional:

    • Event_Format_vod
    • Location_Type_vod
    • Content_Length_vod
    • Program_Type_vod
    • Product_vod
  9. Add the following fields to the appropriate EM_Speaker_vod object page layouts:

    • Tier_vod
    • Requires_Corporate_Contract_vod
  10. Add the Link_Contract_vod button to the appropriate EM_Event_Speaker object page layouts.
  11. Add the Activate_vod button to the appropriate Contract_Partner_vod object page layouts.
  12. Add the following buttons to the Contract_vod object page layout corresponding to the Series_Contract_vod record type:

    • Activate_vod
    • Unlock_vod
  13. Populate the Enable Enhanced Lookups Veeva Setting with a value of 1. This enables the correct list of Contract Templates to display for selection on EM_Speaker_vod records.
  14. Select the Requires_Corporate_Checkbox_vod check box for all EM_Speaker_vod records requiring corporate contracts. This affects the list of contracts available to the speaker.
  15. Update the lookup filter criteria for the Contract_vod field on the following objects. This step is optional and enables admins to better control which contracts display as available for selection:

    • EM_Speaker_vod
    • EM_Event_Speaker_vod

Creating the Print Template

If the contract is planned to be activated via uploading a signed copy of the contract, users must first create a .docx Print Template used to generate the agreement signed by the speaker.

Supported Tokens

The following tokens are supported when creating print templates for Series Contracts:

  • All SFDC and Veeva-provided Contract_vod, Contract_Line_vod, and Contract_Partner_vod fields via the {{ObjectAPIName.FieldAPIName}} format

    Custom fields are not supported.

  • The CurrencyISOCode value of Contract_vod and Contract_Line_vod records via the {{ObjectAPIName.CurrencyISOCode}} format
  • Contract_vod and Contract_Partner_vod lookup fields via the {{ObjectAPIName.RelationshipName.FieldAPIName}} format

    Up to two levels of relationship lookups are supported.

  • The {{timeZone}} token
  • The {{currentDate}} token – Renders as the current date and time when the contract is generated

Tokens are considered required unless marked as optional with the <O> modifier. For example, {{Contract_vod__c.Name<O>}}. If a non-optional token cannot be resolved when the user generates the contract, the generation fails.

Contract_Line_vod tokens resolve as a list of all Contract_Line_vod records associated with the Contract_vod record. If the token is added as a row of a table in the .docx print template, the token resolves with each Contract_Line_vod record as an individual row of the table.

For example, if the following table was included in the .docx print template:

Program Type

Compensation

{{Contract_Line_vod__c.Service_Name_vod__c}}

{{Contract_Line_vod__c.EM_Total_Payment_vod__c}}

The rendered contract would include rows for each associated service name:

Program Type

Compensation

Group In-Person Training

$500.00

Pre-recorded Web Training

$700.00

Local Travel (Two Way)

$1,000.00

Filtering Contract Lines

To grant greater specificity in rendered Contract_Line_vod records, tokens inserting Contract_Line_vod picklists can be filtered to only display matching values by adding the <ObjectAPIName.FieldAPIName=PicklistValueAPIName> modifier to the token.

For example, the {{Contract_Line_vod__c.Service_Name_vod__c<Contract_Line_vod__c.Service_Type_vod__c=Program_vod__c>}} token filters the list to only display Contract Lines with a Service_Type_vod field of Program_vod.

Sorting Contract Lines

By default, the list of Contract Lines in the generated Print Template sort based on the SFID of the Contract_Line_vod records. Organizers can define the sort order of Contract Lines by adding the <Sort=ObjectName.FieldAPIName SortOrder> modifier to the token.

For example, {{Contract_Line_vod__c.Service_Name_vod__c<Sort=Contract_Line_vod__c.EM_Total_Payment_vod__c desc>}} sorts the list based on the EM_Total_Payment_vod field in descending order.

The filtering and sorting modifiers can be used together to create even greater specificity.

Associating Print Templates to an EM_Catalog_vod Record

After completing the .docx template, admins can make print templates available by uploading the document to an Contract_vod type EM_Catalog_vod record.

Creating a Series Contract Template

Once the print template is complete and attached to an EM_Catalog_vod record, the Series Contract template can be created:

  1. Navigate to the Contracts tab.
  2. Select New.
  3. Select Series Contract for the record type.
  4. Populate the appropriate fields:

    • Name – Required
    • Description_vod
    • Start_Date_vod and End_Date_vod – Required
    • EM_Catalog_vod – Select the appropriate EM_Catalog_vod record with the attached Print Template
    • Template_vod – Select this check box to designate the Contract_vod record as a template
    • Language_vod
    • EM_Tier_vod – The tier of the contract
    • Corporate_Contract_vod – Select this check box to designate the template as being for corporate contracts, not individual contracts
    • Contracted_Product_vod – Select the appropriate Product record
    • Contracted_Event_Type_vod – Select the appropriate EM_Event_Configuration_vod record to define the type of event the contract applies to
    • Minimum_Programs_vod and Maximum_Programs_vod – Defines the minimum and maximum number of programs the contracted speaker can speak at
    • Period_Type_vod – Defines the type of Series Contract. The period type determines which additional fields must be populated before creating the contract. Available values are:
    • Calendar – The contract expires on a specific day and month. For example, the contract could be marked as expiring on December 31, 2024, regardless of when the contract is signed.
    • Rolling – The contract expires based on a set number of months after signing. For example, the contract could be marked as expiring six months after whenever the contract is signed.
    • None – The contract has no period
  5. Populate the following additional fields based on the selected Period_Type_vod:

    Period_Type_vod

    Additional Fields

    Calendar

    • Contract_Length_vod
    • First_Expiration_Date_vod
    • Minimum_Contract_Length_vod – Optional

    Rolling

    Contract_Length_vod

    No additional fields are required for contracts with a Period_Type_vod of None.

  6. Select Save.

Creating Contract Lines for Series Contract Templates

After creating the Series Contract template, individual Contract_Line_vod records can be created from the Contract_vod detail page:

  1. Navigate to the Contract Lines related list.
  2. Select New Contract Line.
  3. Populate the following fields:

    • Service_vod – Speaker Service defined by the associated EM_Catalog record
    • EM_Rate_Type_vod – The rate type for the contract line. Available values are:
    • Hour
    • Day
    • Event
    • EM_Service_Quantity_Min_vod and EM_Service_Quantity_Max_vod – The minimum and maximum allowed quantities
    • EM_Service_Quantity_vod – The fixed allowed quantity. This field is optional and should not be used together with the EM_Service_Quantity_Min_vod and EM_Service_Quantity_Max_vod fields.
    • EM_Rate_Min_vod and EM_Rate_Max_vod – The minimum and maximum allowed rates
    • EM_Rate_vod – The fixed allowed rate. This field is optional and should not be used together with the EM_Rate_Min_vod and EM_Rate_Max_vod fields.
  4. Select Save or Save and New.

Activating Series Contract Templates

Once all appropriate Contract_Line_vod records are created, the contract template can be activated by either updating the Status_vod field to Activated_vod or by selecting the Activate button.

New Contract_Line_vod records cannot be created when a Contract Template is activated.

Generating a Series Contract for a Speaker

To generate a Series Contract for a Speaker:

  1. Navigate to the appropriate EM_Speaker_vod record.
  2. Select Manage Contracts.
  3. Select New.
  4. Select the appropriate Contract Template from the list of available templates.

  5. Select Continue.
  6. Edit the Rate and Service Quantity for the appropriate Contract Lines, if applicable.

  7. Select Create Contract.

    • If the Series Contract template used to generate the contract had an associated EM_Catalog_vod record with a print template, a PDF contract based on the associated print template is generated and added to the Notes and Attachments related list of the EM_Speaker_vod record.

      If an error prevents the PDF from being generated, a .txt file containing details about the error is automatically added to the Notes and Attachments related list of the EM_Speaker_vod record.

    • If no EM_Catalog_vod record is associated with the Series Contract template, the user is redirected to the EM_Speaker_vod detail record page

    The currency of the generated PDF contract is based on the currency of the Contract Template, not the user generating the contract.

Updating Generated Contracts

After generating the PDF, users can update an existing contract:

  1. Navigate to the appropriate EM_Speaker_vod record.
  2. Select Manage Contracts.
  3. Select the appropriate contract.
  4. Select Update.
  5. Update the appropriate contract lines.
  6. Select Update Contract. This generates a new PDF contract.

Signing and Activating Series Contracts

After the contract has been generated, the user can activate the contract via one of the following methods.

Upload a Signed Contract

If the contract was signed via a PDF version of the contract generated via print template, users can upload the signed version of the PDF contract to activate the contract:

  1. Navigate to the appropriate EM_Speaker_vod record.
  2. Select Manage Contracts.
  3. Select the appropriate contract.
  4. Select Activate.
  5. Enter the appropriate signature datetime.
  6. Select Attach File.
  7. Select Choose File.

  8. Select Attach File.
  9. Select Done.

Sign via External Integration

Customers can build custom external integrations with Veeva CRM to capture the appropriate signatures for a contract. Custom integrations must perform the following edits to the appropriate Contract_Partner_vod records in CRM in order to enable users to activate the signed contract:

  • Populate the Signature_Datetime_vod field with the appropriate datetime
  • Update the Status_vod field to Signed_vod

Once the integration updates the appropriate Contract_Partner_vod records, the user can activate the contract:

  1. Navigate to the appropriate EM_Speaker_vod record.
  2. Select Manage Contracts.
  3. Select the appropriate contract.
  4. Select Activate.
  5. Select OK.

Activate Contract Without Signatures

Users can activate a contract without signatures if the following fields are not on the Contract_Partner_vod object page layout:

  • Acceptance_ID_vod
  • Signature_Datetime_vod

To activate a contract without a signature:

  1. Navigate to the appropriate EM_Speaker_vod record.
  2. Select Manage Contracts.
  3. Select the appropriate contract.
  4. Select Activate.
  5. Select OK.

Linking Contracts to Events and Event Speakers

After the contract is activated, users can link the contract to the appropriate EM_Event_Speaker_vod record, enabling events to begin counting against the contracted number of events the speaker is added to:

  1. Navigate to the Event Speakers related list of the appropriate event.
  2. Select the appropriate EM_Event_Speaker_vod record.
  3. Select Link Contract.
  4. Select the appropriate contract from the list. Contracts display in the list if it matches all of the following criteria:

    • The contract is an activated Series_Contract_vod type contract
    • The contract’s EM_Speaker_vod field matches the event speaker’s Speaker_vod field
    • The contract’s Contracted_Event_Type_vod field is either empty, or matches the EM_Event_Configuration_vod record used to generate the corresponding event
    • The contract’s Contracted_Product_vod field is either empty, or matches the Product_vod field of the corresponding event
  5. Select Link Contract.

The Completed_Programs_vod field on Contract_vod records automatically populates with the number of contracted events completed by the speaker.